/*
	conditionLanguage/context.h
	@author:Wolfhead
*/

#ifndef WOLV_CONDITION_LANGUAGE_CONTEXT_H
#define WOLV_CONDITION_LANGUAGE_CONTEXT_H

#include <time.h>

namespace wolv
{
namespace condition
{


class Script;
class SymbolTable;

typedef const void * UserContext;


class LocalContext
{
public:
	LocalContext(UserContext ctx, Script* pScript, SymbolTable* pSymbolTable);
	~LocalContext();

	Script* GetScript() const {return pScript_;}
	SymbolTable* GetSymbolTable() const {return pSymbolTable_;}
	UserContext GetContext() const {return context_;}
	time_t GetStartTime() const {return startTime_;}

private:

	Script* pScript_;
	SymbolTable* pSymbolTable_;
	time_t startTime_;
	UserContext context_;

	LocalContext(const LocalContext&);
	const LocalContext& operator=(const LocalContext&);
};




}//namespace condition
}//namespace wolv


#endif

